home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / PInterfaces / Palettes.p < prev    next >
Encoding:
Text File  |  1995-07-06  |  6.5 KB  |  235 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Palettes.p
  3.  
  4.      Contains:    Palette Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Palettes;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __PALETTES__}
  30. {$SETC __PALETTES__ := 1}
  31.  
  32. {$I+}
  33. {$SETC PalettesIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {    Types.p                                                        }
  41. {        ConditionalMacros.p                                        }
  42. {    MixedMode.p                                                    }
  43. {    QuickdrawText.p                                                }
  44.  
  45. {$IFC UNDEFINED __WINDOWS__}
  46. {$I Windows.p}
  47. {$ENDC}
  48. {    Memory.p                                                    }
  49. {    Events.p                                                    }
  50. {        OSUtils.p                                                }
  51. {    Controls.p                                                    }
  52. {        Menus.p                                                    }
  53.  
  54. {$PUSH}
  55. {$ALIGN MAC68K}
  56. {$LibExport+}
  57.  
  58. CONST
  59.     pmCourteous                    = 0;                            {Record use of color on each device touched.}
  60.     pmTolerant                    = $0002;                        {render ciRGB if ciTolerance is exceeded by best match.}
  61.     pmAnimated                    = $0004;                        {reserve an index on each device touched and render ciRGB.}
  62.     pmExplicit                    = $0008;                        {no reserve, no render, no record; stuff index into port.}
  63.     pmWhite                        = $0010;
  64.     pmBlack                        = $0020;
  65.     pmInhibitG2                    = $0100;
  66.     pmInhibitC2                    = $0200;
  67.     pmInhibitG4                    = $0400;
  68.     pmInhibitC4                    = $0800;
  69.     pmInhibitG8                    = $1000;
  70.     pmInhibitC8                    = $2000;
  71. { NSetPalette Update Constants }
  72.     pmNoUpdates                    = $8000;                        {no updates}
  73.     pmBkUpdates                    = $A000;                        {background updates only}
  74.     pmFgUpdates                    = $C000;                        {foreground updates only}
  75.     pmAllUpdates                = $E000;                        {all updates}
  76.  
  77.  
  78. TYPE
  79.     ColorInfo = RECORD
  80.         ciRGB:                    RGBColor;                                {true RGB values}
  81.         ciUsage:                INTEGER;                                {color usage}
  82.         ciTolerance:            INTEGER;                                {tolerance value}
  83.         ciDataFields:            ARRAY [0..2] OF INTEGER;                {private fields}
  84.     END;
  85.  
  86.     Palette = RECORD
  87.         pmEntries:                INTEGER;                                {entries in pmTable}
  88.         pmDataFields:            ARRAY [0..6] OF INTEGER;                {private fields}
  89.         pmInfo:                    ARRAY [0..0] OF ColorInfo;
  90.     END;
  91.  
  92.     PalettePtr = ^Palette;
  93.     PaletteHandle = ^PalettePtr;
  94.  
  95.  
  96. PROCEDURE InitPalettes;
  97.     {$IFC NOT GENERATINGCFM}
  98.     INLINE $AA90;
  99.     {$ENDC}
  100. FUNCTION NewPalette(entries: INTEGER; srcColors: CTabHandle; srcUsage: INTEGER; srcTolerance: INTEGER): PaletteHandle;
  101.     {$IFC NOT GENERATINGCFM}
  102.     INLINE $AA91;
  103.     {$ENDC}
  104. FUNCTION GetNewPalette(PaletteID: INTEGER): PaletteHandle;
  105.     {$IFC NOT GENERATINGCFM}
  106.     INLINE $AA92;
  107.     {$ENDC}
  108. PROCEDURE DisposePalette(srcPalette: PaletteHandle);
  109.     {$IFC NOT GENERATINGCFM}
  110.     INLINE $AA93;
  111.     {$ENDC}
  112. PROCEDURE ActivatePalette(srcWindow: WindowPtr);
  113.     {$IFC NOT GENERATINGCFM}
  114.     INLINE $AA94;
  115.     {$ENDC}
  116. PROCEDURE SetPalette(dstWindow: WindowPtr; srcPalette: PaletteHandle; cUpdates: BOOLEAN);
  117.     {$IFC NOT GENERATINGCFM}
  118.     INLINE $AA95;
  119.     {$ENDC}
  120. PROCEDURE NSetPalette(dstWindow: WindowPtr; srcPalette: PaletteHandle; nCUpdates: INTEGER);
  121.     {$IFC NOT GENERATINGCFM}
  122.     INLINE $AA95;
  123.     {$ENDC}
  124. FUNCTION GetPalette(srcWindow: WindowPtr): PaletteHandle;
  125.     {$IFC NOT GENERATINGCFM}
  126.     INLINE $AA96;
  127.     {$ENDC}
  128. PROCEDURE CopyPalette(srcPalette: PaletteHandle; dstPalette: PaletteHandle; srcEntry: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  129.     {$IFC NOT GENERATINGCFM}
  130.     INLINE $AAA1;
  131.     {$ENDC}
  132. PROCEDURE PmForeColor(dstEntry: INTEGER);
  133.     {$IFC NOT GENERATINGCFM}
  134.     INLINE $AA97;
  135.     {$ENDC}
  136. PROCEDURE PmBackColor(dstEntry: INTEGER);
  137.     {$IFC NOT GENERATINGCFM}
  138.     INLINE $AA98;
  139.     {$ENDC}
  140. PROCEDURE AnimateEntry(dstWindow: WindowPtr; dstEntry: INTEGER; {CONST}VAR srcRGB: RGBColor);
  141.     {$IFC NOT GENERATINGCFM}
  142.     INLINE $AA99;
  143.     {$ENDC}
  144. PROCEDURE AnimatePalette(dstWindow: WindowPtr; srcCTab: CTabHandle; srcIndex: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  145.     {$IFC NOT GENERATINGCFM}
  146.     INLINE $AA9A;
  147.     {$ENDC}
  148. PROCEDURE GetEntryColor(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstRGB: RGBColor);
  149.     {$IFC NOT GENERATINGCFM}
  150.     INLINE $AA9B;
  151.     {$ENDC}
  152. PROCEDURE SetEntryColor(dstPalette: PaletteHandle; dstEntry: INTEGER; {CONST}VAR srcRGB: RGBColor);
  153.     {$IFC NOT GENERATINGCFM}
  154.     INLINE $AA9C;
  155.     {$ENDC}
  156. PROCEDURE GetEntryUsage(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstUsage: INTEGER; VAR dstTolerance: INTEGER);
  157.     {$IFC NOT GENERATINGCFM}
  158.     INLINE $AA9D;
  159.     {$ENDC}
  160. PROCEDURE SetEntryUsage(dstPalette: PaletteHandle; dstEntry: INTEGER; srcUsage: INTEGER; srcTolerance: INTEGER);
  161.     {$IFC NOT GENERATINGCFM}
  162.     INLINE $AA9E;
  163.     {$ENDC}
  164. PROCEDURE CTab2Palette(srcCTab: CTabHandle; dstPalette: PaletteHandle; srcUsage: INTEGER; srcTolerance: INTEGER);
  165.     {$IFC NOT GENERATINGCFM}
  166.     INLINE $AA9F;
  167.     {$ENDC}
  168. PROCEDURE Palette2CTab(srcPalette: PaletteHandle; dstCTab: CTabHandle);
  169.     {$IFC NOT GENERATINGCFM}
  170.     INLINE $AAA0;
  171.     {$ENDC}
  172. FUNCTION Entry2Index(entry: INTEGER): LONGINT;
  173.     {$IFC NOT GENERATINGCFM}
  174.     INLINE $7000, $AAA2;
  175.     {$ENDC}
  176. PROCEDURE RestoreDeviceClut(gd: GDHandle);
  177.     {$IFC NOT GENERATINGCFM}
  178.     INLINE $7002, $AAA2;
  179.     {$ENDC}
  180. PROCEDURE ResizePalette(p: PaletteHandle; size: INTEGER);
  181.     {$IFC NOT GENERATINGCFM}
  182.     INLINE $7003, $AAA2;
  183.     {$ENDC}
  184. PROCEDURE SaveFore(VAR c: ColorSpec);
  185.     {$IFC NOT GENERATINGCFM}
  186.     INLINE $303C, $040D, $AAA2;
  187.     {$ENDC}
  188. PROCEDURE SaveBack(VAR c: ColorSpec);
  189.     {$IFC NOT GENERATINGCFM}
  190.     INLINE $303C, $040E, $AAA2;
  191.     {$ENDC}
  192. PROCEDURE RestoreFore({CONST}VAR c: ColorSpec);
  193.     {$IFC NOT GENERATINGCFM}
  194.     INLINE $303C, $040F, $AAA2;
  195.     {$ENDC}
  196. PROCEDURE RestoreBack({CONST}VAR c: ColorSpec);
  197.     {$IFC NOT GENERATINGCFM}
  198.     INLINE $303C, $0410, $AAA2;
  199.     {$ENDC}
  200. FUNCTION SetDepth(gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): OSErr;
  201.     {$IFC NOT GENERATINGCFM}
  202.     INLINE $303C, $0A13, $AAA2;
  203.     {$ENDC}
  204. FUNCTION HasDepth(gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): INTEGER;
  205.     {$IFC NOT GENERATINGCFM}
  206.     INLINE $303C, $0A14, $AAA2;
  207.     {$ENDC}
  208. FUNCTION PMgrVersion: INTEGER;
  209.     {$IFC NOT GENERATINGCFM}
  210.     INLINE $7015, $AAA2;
  211.     {$ENDC}
  212. PROCEDURE SetPaletteUpdates(p: PaletteHandle; updates: INTEGER);
  213.     {$IFC NOT GENERATINGCFM}
  214.     INLINE $303C, $0616, $AAA2;
  215.     {$ENDC}
  216. FUNCTION GetPaletteUpdates(p: PaletteHandle): INTEGER;
  217.     {$IFC NOT GENERATINGCFM}
  218.     INLINE $303C, $0417, $AAA2;
  219.     {$ENDC}
  220. FUNCTION GetGray(device: GDHandle; {CONST}VAR backGround: RGBColor; VAR foreGround: RGBColor): BOOLEAN;
  221.     {$IFC NOT GENERATINGCFM}
  222.     INLINE $303C, $0C19, $AAA2;
  223.     {$ENDC}
  224.  
  225. {$ALIGN RESET}
  226. {$POP}
  227.  
  228. {$SETC UsingIncludes := PalettesIncludes}
  229.  
  230. {$ENDC} {__PALETTES__}
  231.  
  232. {$IFC NOT UsingIncludes}
  233.  END.
  234. {$ENDC}
  235.